Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of this collection.

Implements IIndexScanner(T,TKey).GroupJoin

Namespace:  C1.LiveLinq.Indexing
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public IEnumerable<TResult> GroupJoin<T2, TResult>(
	IEnumerable<T2> source,
	Func<T2, TKey> keySelector,
	Func<T, IEnumerable<T2>, TResult> resultSelector
)
Visual Basic
Public Function GroupJoin(Of T2, TResult) ( _
	source As IEnumerable(Of T2), _
	keySelector As Func(Of T2, TKey), _
	resultSelector As Func(Of T, IEnumerable(Of T2), TResult) _
) As IEnumerable(Of TResult)

Parameters

source
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'T2>)>)>
The second sequence to join to this collection.
keySelector
Type: System..::..Func<(Of <(<'T2, TKey>)>)>
A function to extract from an item of the second sequence the value to match against this collection's key value.
resultSelector
Type: System..::..Func<(Of <(<'T, IEnumerable<(Of <(<'T2>)>)>, TResult>)>)>
A function to create a result element from an element from this collection and a collection of matching elements from the second sequence.

Type Parameters

T2
The type of the elements of the second sequence.
TResult
The type of the result elements.

Return Value

Enumeration of objects obtained by applying the result selector to group pairs, where each pair consists of an item of this collection and the corresponding enumeration of the items of the second sequence joined to it.

See Also